;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;arith_3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	.h8300sx
	.text
	.global _start
_start:
    neg.b r1h                 ;1781
    neg.b @er1               ;7d101780
    neg.b @(0x3:2,er1)         ;017768181780
    neg.b @er1+              ;01746c181780
    neg.b @-er1              ;01776c181780
    neg.b @+er1              ;01756c181780
    neg.b @er1-              ;01766c181780
    neg.b @(0x1234:16,er1)        ;01746e1812341780
    neg.b @(0x12345678:32,er1)        ;78146a28123456781780
    neg.b @(0x1234:16,r2l.b)      ;01756e2812341780
    neg.b @(0x1234:16,r2.w)      ;01766e2812341780
    neg.b @(0x1234:16,er2.l)      ;01776e2812341780
    neg.b @(0x12345678:32,r2l.b)      ;78256a28123456781780
    neg.b @(0x12345678:32,r2.w)      ;78266a28123456781780
    neg.b @(0x12345678:32,er2.l)      ;78276a28123456781780
    neg.b @0xffffff12:8              ;7f121780
    neg.b @0x1234:16             ;6a1812341780
    neg.b @0x12345678:32             ;6a38123456781780

    neg.w r1                 ;1791
    neg.w @er1               ;7d901790
    neg.w @(0x6:2,er1)      ;015769181790
    neg.w @er1+              ;01546d181790
    neg.w @-er1              ;01576d181790
    neg.w @+er1              ;01556d181790
    neg.w @er1-              ;01566d181790
    neg.w @(0x1234:16,er1)        ;01546f1812341790
    neg.w @(0x12345678:32,er1)        ;78146b28123456781790
    neg.w @(0x1234:16,r2l.b)      ;01556f2812341790
    neg.w @(0x1234:16,r2.w)      ;01566f2812341790
    neg.w @(0x1234:16,er2.l)      ;01576f2812341790
    neg.w @(0x12345678:32,r2l.b)      ;78256b28123456781790
    neg.w @(0x12345678:32,r2.w)      ;78266b28123456781790
    neg.w @(0x12345678:32,er2.l)      ;78276b28123456781790
    neg.w @0x1234:16             ;6b1812341790
    neg.w @0x12345678:32             ;6b38123456781790

    neg.l er1                 ;17b1
    neg.l @er1               ;0104691817b0
    neg.l @(0xc:2,er1)      ;0107691817b0
    neg.l @er1+              ;01046d1817b0
    neg.l @-er1              ;01076d1817b0
    neg.l @+er1              ;01056d1817b0
    neg.l @er1-              ;01066d1817b0
    neg.l @(0x1234:16,er1)        ;01046f18123417b0
    neg.l @(0x12345678:32,er1)        ;78946b281234567817b0
    neg.l @(0x1234:16,r2l.b)      ;01056f28123417b0
    neg.l @(0x1234:16,r2.w)      ;01066f28123417b0
    neg.l @(0x1234:16,er2.l)      ;01076f28123417b0
    neg.l @(0x12345678:32,r2l.b)      ;78a56b281234567817b0
    neg.l @(0x12345678:32,r2.w)      ;78a66b281234567817b0
    neg.l @(0x12345678:32,er2.l)      ;78a76b281234567817b0
    neg.l @0x1234:16             ;01046b08123417b0
    neg.l @0x12345678:32             ;01046b281234567817b0

    tas @er1                 ;01e07b1c

    extu.w r1                ;1751
    extu.w @er1              ;7d901750
    extu.w @(0x6:2,er1)     ;015769181750
    extu.w @er1+             ;01546d181750
    extu.w @-er1             ;01576d181750
    extu.w @+er1             ;01556d181750
    extu.w @er1-             ;01566d181750
    extu.w @(0x1234:16,er1)       ;01546f1812341750
    extu.w @(0x12345678:32,er1)       ;78146b28123456781750
    extu.w @(0x1234:16,r2l.b)     ;01556f2812341750
    extu.w @(0x1234:16,r2.w)     ;01566f2812341750
    extu.w @(0x1234:16,er2.l)     ;01576f2812341750
    extu.w @(0x12345678:32,r2l.b)     ;78256b28123456781750
    extu.w @(0x12345678:32,r2.w)     ;78266b28123456781750
    extu.w @(0x12345678:32,er2.l)     ;78276b28123456781750
    extu.w @0x1234:16            ;6b1812341750
    extu.w @0x12345678:32            ;6b38123456781750

    extu.l er1                ;1771
    extu.l @er1              ;010469181770
    extu.l @(0xc:2,er1)     ;010769181770
    extu.l @er1+             ;01046d181770
    extu.l @-er1             ;01076d181770
    extu.l @+er1             ;01056d181770
    extu.l @er1-             ;01066d181770
    extu.l @(0x1234:16,er1)       ;01046f1812341770
    extu.l @(0x12345678:32,er1)       ;78946b28123456781770
    extu.l @(0x1234:16,r2l.b)     ;01056f2812341770
    extu.l @(0x1234:16,r2.w)     ;01066f2812341770
    extu.l @(0x1234:16,er2.l)     ;01076f2812341770
    extu.l @(0x12345678:32,r2l.b)     ;78a56b28123456781770
    extu.l @(0x12345678:32,r2.w)     ;78a66b28123456781770
    extu.l @(0x12345678:32,er2.l)     ;78a76b28123456781770
    extu.l @0x1234:16            ;01046b0812341770
    extu.l @0x12345678:32            ;01046b28123456781770

    extu.l #2,er1             ;1761
    extu.l #2,@er1           ;010469181760
    extu.l #2,@(0xc:2,er1)  ;010769181760
    extu.l #2,@er1+          ;01046d181760
    extu.l #2,@-er1          ;01076d181760
    extu.l #2,@+er1          ;01056d181760
    extu.l #2,@er1-          ;01066d181760
    extu.l #2,@(0x1234:16,er1)    ;01046f1812341760
    extu.l #2,@(0x12345678:32,er1)    ;78946b28123456781760
    extu.l #2,@(0x1234:16,r2l.b)  ;01056f2812341760
    extu.l #2,@(0x1234:16,r2.w)  ;01066f2812341760
    extu.l #2,@(0x1234:16,er2.l)  ;01076f2812341760
    extu.l #2,@(0x12345678:32,r2l.b)  ;78a56b28123456781760
    extu.l #2,@(0x12345678:32,r2.w)  ;78a66b28123456781760
    extu.l #2,@(0x12345678:32,er2.l)  ;78a76b28123456781760
    extu.l #2,@0x1234:16         ;01046b0812341760
    extu.l #2,@0x12345678:32         ;01046b28123456781760

    exts.w r1                ;17d1
    exts.w @er1              ;7d9017d0
    exts.w @(0x6:2,er1)     ;0157691817d0
    exts.w @er1+             ;01546d1817d0
    exts.w @-er1             ;01576d1817d0
    exts.w @+er1             ;01556d1817d0
    exts.w @er1-             ;01566d1817d0
    exts.w @(0x1234:16,er1)       ;01546f18123417d0
    exts.w @(0x12345678:32,er1)       ;78146b281234567817d0
    exts.w @(0x1234:16,r2l.b)     ;01556f28123417d0
    exts.w @(0x1234:16,r2.w)     ;01566f28123417d0
    exts.w @(0x1234:16,er2.l)     ;01576f28123417d0
    exts.w @(0x12345678:32,r2l.b)     ;78256b281234567817d0
    exts.w @(0x12345678:32,r2.w)     ;78266b281234567817d0
    exts.w @(0x12345678:32,er2.l)     ;78276b281234567817d0
    exts.w @0x1234:16            ;6b18123417d0
    exts.w @0x12345678:32            ;6b381234567817d0

    exts.l er1                ;17f1
    exts.l @er1              ;0104691817f0
    exts.l @(0xc:2,er1)     ;0107691817f0
    exts.l @er1+             ;01046d1817f0
    exts.l @-er1             ;01076d1817f0
    exts.l @+er1             ;01056d1817f0
    exts.l @er1-             ;01066d1817f0
    exts.l @(0x1234:16,er1)       ;01046f18123417f0
    exts.l @(0x12345678:32,er1)       ;78946b281234567817f0
    exts.l @(0x1234:16,r2l.b)     ;01056f28123417f0
    exts.l @(0x1234:16,r2.w)     ;01066f28123417f0
    exts.l @(0x1234:16,er2.l)     ;01076f28123417f0
    exts.l @(0x12345678:32,r2l.b)     ;78a56b281234567817f0
    exts.l @(0x12345678:32,r2.w)     ;78a66b281234567817f0
    exts.l @(0x12345678:32,er2.l)     ;78a76b281234567817f0
    exts.l @0x1234:16            ;01046b08123417f0
    exts.l @0x12345678:32            ;01046b281234567817f0

    exts.l #2,er1             ;17e1
    exts.l #2,@er1           ;0104691817e0
    exts.l #2,@(0xc:2,er1)  ;0107691817e0
    exts.l #2,@er1+          ;01046d1817e0
    exts.l #2,@-er1          ;01076d1817e0
    exts.l #2,@+er1          ;01056d1817e0
    exts.l #2,@er1-          ;01066d1817e0
    exts.l #2,@(0x1234:16,er1)    ;01046f18123417e0
    exts.l #2,@(0x12345678:32,er1)    ;78946b281234567817e0
    exts.l #2,@(0x1234:16,r2l.b)  ;01056f28123417e0
    exts.l #2,@(0x1234:16,r2.w)  ;01066f28123417e0
    exts.l #2,@(0x1234:16,er2.l)  ;01076f28123417e0
    exts.l #2,@(0x12345678:32,r2l.b)  ;78a56b281234567817e0
    exts.l #2,@(0x12345678:32,r2.w)  ;78a66b281234567817e0
    exts.l #2,@(0x12345678:32,er2.l)  ;78a76b281234567817e0
    exts.l #2,@0x1234:16         ;01046b08123417e0
    exts.l #2,@0x12345678:32         ;01046b281234567817e0

	.end
	.section	.note.GNU-stack,"",@progbits
